package com.hj.authority.service;



import com.hj.authority.domain.entity.SysMenu;
import com.hj.authority.domain.vo.SysMenuVO;
import com.hj.mybatis.service.BaseService;
import com.hj.security.user.HjUserDetails;

import java.util.List;
import java.util.Set;

/**
 * @author hj
 * @Date 2023/4/27
 * @Description: 菜单管理
 */
public interface SysMenuService extends BaseService<SysMenu> {


    /**
     * 菜单列表
     *
     * @param type 菜单类型
     * @return list--SysMenuVO
     */
    List<SysMenuVO> getMenuList(Integer type);

    /**
     * 用户菜单列表
     *
     * @param user 用户
     * @param type 菜单类型
     * @return list--SysMenuVO
     */
    List<SysMenuVO> getUserMenuList(HjUserDetails user, Integer type);


    /**
     * 获取用户权限列表
     *
     * @param user HjUserDetails
     * @return set--String
     */
    Set<String> getUserAuthority(HjUserDetails user);


}
